Related patent applications:
The invention disclosed herein is related to the co-pending U.S. patent application by Hardeep Singh, et al., entitled "Backing Store Management Method and Apparatus for a Microkernel Dataprocessing System", Ser. No. 08/303,851, filed Sep. 9, 1994, IBM Docket No. BC9-94-087, assigned to the IBM Corporation and incorporated herein by reference.
The invention disclosed herein is related to the co-pending United States Patent Application by Guy G. Sotomayor, Jr., James M. Magee, and Freeman L. Rawson, III, which is entitled "METHOD AND APPARATUS FOR MANAGEMENT OF MAPPED AND UNMAPPED REGIONS OF MEMORY IN A MICROKERNEL DATA PROCESSING SYSTEM", Ser. No. 08/263,710, now U.S. Pat. No. 5,729,710, filed Jun. 21, 1994, IBM Docket Number BC9-94-053, assigned to the International Business Machines Corporation, and incorporated herein by reference.
A primary goal of the client-server movement has been to encapsulate and simplify the separate elements that comprise a system environment. This encapsulation and generalization of common system elements allows for significant function reuse, and reduces the effort involved with the addition of a new feature such that only the unique aspects of the feature must be implemented.
An example of this can be found in the file server implementation of the IBM WorkPlace Operating System (WPOS) product. This file server is actually broken into three separate components as follows:
The Logical File Server (LFS): This piece of the file server performs the initial message/request processing, the basic thread control, and the resource management required by all file systems. It also provides a layer of isolation from the external interface for the file system(s) it supports.
The Physical File System (PFS): Data can be arrayed in a storage system in a wide variety of permutations, with each format exhibiting different archive and access characteristics. A physical file system (PFS) is the part that interprets the format of the data in a storage system such that it can be accessed as distinct files or directory control structures. In this text, any such grouping of data will be called a data set. Some well known examples of these interpreters are the file allocation table file system (FAT), high performance file system (HPFS), and the journaling file system (JFS). Each of these examples would require their own PFS to interpret their specific data format in the workplace OS file server. The logical file server is designed to service one or more PFS.
The most elemental task of a PFS is to determine and track the physical location of a data set on a storage device. A special array of structures is used to associate the physical location of data with the offset of that data into the data set. This array is referenced in this text as the layout for that data.
The file server's pager: Systems like the IBM microkernel and the MACH kernel provide a method for accessing persistent data through a file system as regions within the requesting client's memory address space. The kernel provides a special interface through which it can manipulate this virtual memory, called the external memory manager interface (EMMI). Accessing data in this fashion is known as mapping. These methods are well known in the industry.
The file server's pager manages the EMMI for any PFS supported by the file server. A PFS must register a data set with the file server's pager so it can create a memory object port for each data set and initialize the structures required for paging activity. A memory object port is a kernel construct used to identify and access pagable entities in the system. The file server's pager reduces the complex interaction across the EMMI to a simpler exchange with the PFS, and provides a layer of isolation between the PFS and the specific device interfaces.
What is needed in the prior art is an improved interface between the file server's pager and the physical file system. Through this interface, the file server would be able to reap the benefits of a separation between the file system and the file server's pager without suffering from the limitations that arise from such an architecture.